/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package slcu.model;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.impl.BaseModelImpl;

import slcu.service.AlumnoLocalServiceUtil;

import java.io.Serializable;

import java.lang.reflect.Proxy;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author tito
 */
public class AlumnoClp extends BaseModelImpl<Alumno> implements Alumno {
	public AlumnoClp() {
	}

	public Class<?> getModelClass() {
		return Alumno.class;
	}

	public String getModelClassName() {
		return Alumno.class.getName();
	}

	public long getPrimaryKey() {
		return _alumnoId;
	}

	public void setPrimaryKey(long primaryKey) {
		setAlumnoId(primaryKey);
	}

	public Serializable getPrimaryKeyObj() {
		return new Long(_alumnoId);
	}

	public void setPrimaryKeyObj(Serializable primaryKeyObj) {
		setPrimaryKey(((Long)primaryKeyObj).longValue());
	}

	@Override
	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("alumnoId", getAlumnoId());
		attributes.put("escuelaId", getEscuelaId());
		attributes.put("nombres", getNombres());
		attributes.put("apellido", getApellido());
		attributes.put("dni", getDni());
		attributes.put("cue", getCue());
		attributes.put("cue_anexo", getCue_anexo());
		attributes.put("etapa_real", getEtapa_real());
		attributes.put("ano_inicial", getAno_inicial());
		attributes.put("seccion", getSeccion());
		attributes.put("fecha_nacimiento", getFecha_nacimiento());

		return attributes;
	}

	@Override
	public void setModelAttributes(Map<String, Object> attributes) {
		Long alumnoId = (Long)attributes.get("alumnoId");

		if (alumnoId != null) {
			setAlumnoId(alumnoId);
		}

		Long escuelaId = (Long)attributes.get("escuelaId");

		if (escuelaId != null) {
			setEscuelaId(escuelaId);
		}

		String nombres = (String)attributes.get("nombres");

		if (nombres != null) {
			setNombres(nombres);
		}

		String apellido = (String)attributes.get("apellido");

		if (apellido != null) {
			setApellido(apellido);
		}

		String dni = (String)attributes.get("dni");

		if (dni != null) {
			setDni(dni);
		}

		String cue = (String)attributes.get("cue");

		if (cue != null) {
			setCue(cue);
		}

		String cue_anexo = (String)attributes.get("cue_anexo");

		if (cue_anexo != null) {
			setCue_anexo(cue_anexo);
		}

		String etapa_real = (String)attributes.get("etapa_real");

		if (etapa_real != null) {
			setEtapa_real(etapa_real);
		}

		Integer ano_inicial = (Integer)attributes.get("ano_inicial");

		if (ano_inicial != null) {
			setAno_inicial(ano_inicial);
		}

		String seccion = (String)attributes.get("seccion");

		if (seccion != null) {
			setSeccion(seccion);
		}

		Date fecha_nacimiento = (Date)attributes.get("fecha_nacimiento");

		if (fecha_nacimiento != null) {
			setFecha_nacimiento(fecha_nacimiento);
		}
	}

	public long getAlumnoId() {
		return _alumnoId;
	}

	public void setAlumnoId(long alumnoId) {
		_alumnoId = alumnoId;
	}

	public long getEscuelaId() {
		return _escuelaId;
	}

	public void setEscuelaId(long escuelaId) {
		_escuelaId = escuelaId;
	}

	public String getNombres() {
		return _nombres;
	}

	public void setNombres(String nombres) {
		_nombres = nombres;
	}

	public String getApellido() {
		return _apellido;
	}

	public void setApellido(String apellido) {
		_apellido = apellido;
	}

	public String getDni() {
		return _dni;
	}

	public void setDni(String dni) {
		_dni = dni;
	}

	public String getCue() {
		return _cue;
	}

	public void setCue(String cue) {
		_cue = cue;
	}

	public String getCue_anexo() {
		return _cue_anexo;
	}

	public void setCue_anexo(String cue_anexo) {
		_cue_anexo = cue_anexo;
	}

	public String getEtapa_real() {
		return _etapa_real;
	}

	public void setEtapa_real(String etapa_real) {
		_etapa_real = etapa_real;
	}

	public int getAno_inicial() {
		return _ano_inicial;
	}

	public void setAno_inicial(int ano_inicial) {
		_ano_inicial = ano_inicial;
	}

	public String getSeccion() {
		return _seccion;
	}

	public void setSeccion(String seccion) {
		_seccion = seccion;
	}

	public Date getFecha_nacimiento() {
		return _fecha_nacimiento;
	}

	public void setFecha_nacimiento(Date fecha_nacimiento) {
		_fecha_nacimiento = fecha_nacimiento;
	}

	public BaseModel<?> getAlumnoRemoteModel() {
		return _alumnoRemoteModel;
	}

	public void setAlumnoRemoteModel(BaseModel<?> alumnoRemoteModel) {
		_alumnoRemoteModel = alumnoRemoteModel;
	}

	public void persist() throws SystemException {
		if (this.isNew()) {
			AlumnoLocalServiceUtil.addAlumno(this);
		}
		else {
			AlumnoLocalServiceUtil.updateAlumno(this);
		}
	}

	@Override
	public Alumno toEscapedModel() {
		return (Alumno)Proxy.newProxyInstance(Alumno.class.getClassLoader(),
			new Class[] { Alumno.class }, new AutoEscapeBeanHandler(this));
	}

	@Override
	public Object clone() {
		AlumnoClp clone = new AlumnoClp();

		clone.setAlumnoId(getAlumnoId());
		clone.setEscuelaId(getEscuelaId());
		clone.setNombres(getNombres());
		clone.setApellido(getApellido());
		clone.setDni(getDni());
		clone.setCue(getCue());
		clone.setCue_anexo(getCue_anexo());
		clone.setEtapa_real(getEtapa_real());
		clone.setAno_inicial(getAno_inicial());
		clone.setSeccion(getSeccion());
		clone.setFecha_nacimiento(getFecha_nacimiento());

		return clone;
	}

	public int compareTo(Alumno alumno) {
		int value = 0;

		value = getDni().compareTo(alumno.getDni());

		if (value != 0) {
			return value;
		}

		return 0;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}

		AlumnoClp alumno = null;

		try {
			alumno = (AlumnoClp)obj;
		}
		catch (ClassCastException cce) {
			return false;
		}

		long primaryKey = alumno.getPrimaryKey();

		if (getPrimaryKey() == primaryKey) {
			return true;
		}
		else {
			return false;
		}
	}

	@Override
	public int hashCode() {
		return (int)getPrimaryKey();
	}

	@Override
	public String toString() {
		StringBundler sb = new StringBundler(23);

		sb.append("{alumnoId=");
		sb.append(getAlumnoId());
		sb.append(", escuelaId=");
		sb.append(getEscuelaId());
		sb.append(", nombres=");
		sb.append(getNombres());
		sb.append(", apellido=");
		sb.append(getApellido());
		sb.append(", dni=");
		sb.append(getDni());
		sb.append(", cue=");
		sb.append(getCue());
		sb.append(", cue_anexo=");
		sb.append(getCue_anexo());
		sb.append(", etapa_real=");
		sb.append(getEtapa_real());
		sb.append(", ano_inicial=");
		sb.append(getAno_inicial());
		sb.append(", seccion=");
		sb.append(getSeccion());
		sb.append(", fecha_nacimiento=");
		sb.append(getFecha_nacimiento());
		sb.append("}");

		return sb.toString();
	}

	public String toXmlString() {
		StringBundler sb = new StringBundler(37);

		sb.append("<model><model-name>");
		sb.append("slcu.model.Alumno");
		sb.append("</model-name>");

		sb.append(
			"<column><column-name>alumnoId</column-name><column-value><![CDATA[");
		sb.append(getAlumnoId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>escuelaId</column-name><column-value><![CDATA[");
		sb.append(getEscuelaId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>nombres</column-name><column-value><![CDATA[");
		sb.append(getNombres());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>apellido</column-name><column-value><![CDATA[");
		sb.append(getApellido());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dni</column-name><column-value><![CDATA[");
		sb.append(getDni());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue</column-name><column-value><![CDATA[");
		sb.append(getCue());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue_anexo</column-name><column-value><![CDATA[");
		sb.append(getCue_anexo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>etapa_real</column-name><column-value><![CDATA[");
		sb.append(getEtapa_real());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>ano_inicial</column-name><column-value><![CDATA[");
		sb.append(getAno_inicial());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>seccion</column-name><column-value><![CDATA[");
		sb.append(getSeccion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>fecha_nacimiento</column-name><column-value><![CDATA[");
		sb.append(getFecha_nacimiento());
		sb.append("]]></column-value></column>");

		sb.append("</model>");

		return sb.toString();
	}

	private long _alumnoId;
	private long _escuelaId;
	private String _nombres;
	private String _apellido;
	private String _dni;
	private String _cue;
	private String _cue_anexo;
	private String _etapa_real;
	private int _ano_inicial;
	private String _seccion;
	private Date _fecha_nacimiento;
	private BaseModel<?> _alumnoRemoteModel;
}